<?
/* Se asegura que el archivo es incluido por el index */
	defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Grupo_exe( $this );

	class Grupo_exe extends Exe
	{
	function Grupo_exe( &$oModule )
		{
			$this->Exe( $oModule );
		}
	// MODIFICAR_UN_GRUPO
	function update()
		{
			// Convierte a variables los datos del Formulario asociado a la accion
			$oForm = $this->oModule->loadClass( 'Grupo_frm' );
			extract( $oForm->getFieldArray() );
			$this->oDatabase->update("atGrupo",
								"cdGrupo", $cdGrupo,
								"cColor", $cColor,
								"WHERE",
								"ncGrupo", $ncGrupo );
		}
	// AGREGAR_UNA_GRUPO
	function insert()
		{
			// Convierte a variables los datos del Formulario asociado a la accion
			$oForm = $this->oModule->loadClass( 'Grupo_frm' );
			extract( $oForm->getFieldArray() );
			$ncGrupo = $this->oDatabase->nextKey("atGrupo", "ncGrupo");
			$this->oDatabase->insert("atGrupo",
								"cdGrupo", $cdGrupo,
								"cColor", $cColor,
								"ncGrupo", $ncGrupo );
		}
	// ELIMINAR_UN_GRUPO
	function delete()
		{
			$ncGrupo = getParam( 'ncGrupo' );
			if ( $ncGrupo )
			{
				$nqReg = $this->oDatabase->getData( "SELECT count(*) FROM atPersona WHERE ncGrupo = " . $ncGrupo );
				if ( $nqReg > 0 )
				{
					addMessage( "El grupo no se puede eliminar por que tiene $nqReg contacto/s relacionados." );
					return false;
				}
				$nqReg = $this->oDatabase->getData( "SELECT count(*) FROM atOrganizacion WHERE ncGrupo = " . $ncGrupo);
				if ( $nqReg > 0 )
				{
					addMessage( "El grupo no se puede eliminar por que tiene $nqReg organizacion/es relacionados." );
					return false;
				}
				// Elimina
				$this->oDatabase->delete("atGrupo", "ncGrupo", $ncGrupo );
			}
		}
	}
?>